package com.luxsoft.siipap.em.replica.importadores.inventarios;

import java.io.IOException;
import java.util.Date;
import java.util.Map;

import com.luxsoft.siipap.em.replica.importadores.dbf.DBFRowHandler;
import com.luxsoft.siipap.em.replica.importadores.dbf.DBFSupport;
import com.luxsoft.siipap.inventarios.model.Existencia;
import com.luxsoft.siipap.inventarios.model.InventarioAnual;

import com.luxsoft.siipap.model.Sucursal;
import com.luxsoft.siipap.model.core.Producto;
import com.luxsoft.siipap.service.ServiceLocator2;
import com.luxsoft.siipap.util.DBUtils;

/**
 * Importa las existencias desde ARSALD01.ACU
 * 
 * Temporalmente util presentar las existencias de siipap dbf
 * 
 * @author Ruben Cancino Ramos
 *
 */
public class ImportadorDeInventarioInicial implements DBFRowHandler{
	
	
	private Sucursal sucursal;
	
	public void execute() throws IOException{
		sucursal=ServiceLocator2.getConfiguracion().getSucursal();
		DBFSupport support=new DBFSupport();
		String file="c:\\pruebas\\saldo\\ARSALD11.ACU";
		support.execute(file,this, true);
		
	}

	public void processRow(Map<String, Object> row) throws Exception {
		
		Number suc=(Number)row.get("SASUCURSAL");
		if(suc==null){
			System.out.println("Sucursal no existe: "+row);
			return;
		}
		if(suc.intValue()==1){
			
			Number SASALDACT=(Number)row.get("SASALDACT");
			if(SASALDACT==null)
				return;
//				SASALDACT=new Long(0);
			String SAARTICULO=(String)row.get("SAARTICULO");
			Producto producto=ServiceLocator2.getProductoManager().buscarPorClave(SAARTICULO);
			if(producto==null){
				System.out.println("Producto inexistente: "+SAARTICULO);
				return;
			}
			InventarioAnual inv=new InventarioAnual();
			inv.setSucursal(sucursal);
			inv.setProducto(producto);
			inv.setCantidad(SASALDACT.doubleValue());
			inv.setYear(2010);
			inv.setMes(11);
			//inv=(InventarioAnual) ServiceLocator2.getUniversalDao().save(inv);			
			Existencia exis=new Existencia();
			exis.setProducto(producto);
			exis.setSucursal(sucursal);
			exis.setProducto(producto);
			exis.setCantidad(SASALDACT.doubleValue());
			exis.setYear(2010);
			exis.setMes(12);
			exis.setFecha(new Date());
			exis=(Existencia) ServiceLocator2.getUniversalDao().save(exis);
		}
	
	}
	
	
	public static void main(String[] args) throws IOException {
		DBUtils.whereWeAre();
		new ImportadorDeInventarioInicial().execute();
	}

}
